home *** CD-ROM | disk | FTP | other *** search
- unit Desktopu;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls;
-
- type
- TForm1 = class(TForm)
- ItemEdt: TEdit;
- ItemsLst: TListBox;
- AddBtn: TButton;
- SortBtn: TButton;
- ExitBtn: TButton;
- DelBtn: TButton;
- procedure AddBtnClick(Sender: TObject);
- procedure SortBtnClick(Sender: TObject);
- procedure DelBtnClick(Sender: TObject);
- procedure ExitBtnClick(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- public
- procedure Loaded; override;
- end;
-
- var
- Form1: TForm1;
-
- const
- DataFile = 'DeskTops.Dsk';
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.AddBtnClick(Sender: TObject);
- begin
- ItemsLst.Items.Add(ItemEdt.Text);
- ItemEdt.Clear;
- end;
-
- procedure TForm1.SortBtnClick(Sender: TObject);
- begin
- ItemsLst.Sorted := True;
- ItemsLst.Sorted := False;
- end;
-
- procedure TForm1.DelBtnClick(Sender: TObject);
- var
- Loop: Byte;
- begin
- with ItemsLst, Items do
- begin
- BeginUpdate;
- if not MultiSelect then
- Delete(ItemIndex)
- else
- for Loop := Pred(Count) downto 0 do
- if Selected[Loop] then
- Delete(Loop);
- EndUpdate;
- end;
- end;
-
- procedure TForm1.ExitBtnClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- with TFileStream.Create(DataFile, fmCreate) do
- try
- WriteComponent(ItemEdt);
- WriteComponent(ItemsLst);
- finally
- Free;
- end;
- end;
-
- procedure TForm1.Loaded;
- begin
- inherited Loaded;
- try
- with TFileStream.Create(DataFile, fmOpenRead or fmShareDenyWrite) do
- try
- ReadComponent(ItemEdt);
- ReadComponent(ItemsLst);
- finally
- Free;
- end;
- except
- { Smother desktop not found exception }
- { as it wonÆt be found on the first run }
- on EFOpenError do {nothing};
- end;
- end;
-
- end.
-